GH-145667: Merge GET_ITER and GET_YIELD_FROM_ITER#146120
GH-145667: Merge GET_ITER and GET_YIELD_FROM_ITER#146120markshannon merged 4 commits intopython:mainfrom
GET_ITER and GET_YIELD_FROM_ITER#146120Conversation
…more like FOR_ITER
|
Just to be sure, please run the buildbots |
|
🤖 New build scheduled with the buildbot fleet by @markshannon for commit e3ea233 🤖 Results will be shown at: https://buildbot.python.org/all/#/grid?branch=refs%2Fpull%2F146120%2Fmerge If you want to schedule another build, you need to add the 🔨 test-with-buildbots label again. |
|
🤖 New build scheduled with the buildbot fleet by @markshannon for commit 1b8f043 🤖 Results will be shown at: https://buildbot.python.org/all/#/grid?branch=refs%2Fpull%2F146120%2Fmerge If you want to schedule another build, you need to add the 🔨 test-with-buildbots label again. |
|
Of the 12 failing buildbots, 7 were pre-existing failures and 5 are "new" refleaks. However, since this PR is platform independent, there should be leaks everywhere or nowhere. |
|
* upstream/main: (1475 commits) Docs: replace all `datetime` imports with `import datetime as dt` (python#145640) pythongh-146153: Use `frozendict` in pure python fallback for `curses.has_key` (python#146154) pythongh-138234: clarify returncode behavior for subprocesses created with `shell=True` (python#138536) pythongh-140947: fix contextvars handling for server tasks in asyncio (python#141158) pythonGH-100108: Add async generators best practices section (python#141885) pythonGH-145667: Merge `GET_ITER` and `GET_YIELD_FROM_ITER` (pythonGH-146120) pythongh-146228: Better fork support in cached FastPath (python#146231) pythongh-146227: Fix wrong type in _Py_atomic_load_uint16 in pyatomic_std.h (pythongh-146229) pythongh-145980: Fix copy/paste mistake in binascii.c (python#146230) pythongh-146092: Raise MemoryError on allocation failure in _zoneinfo (python#146165) pythongh-91279: Note `SOURCE_DATE_EPOCH` support in `ZipFile.writestr()` doc (python#139396) pythongh-146196: Fix Undefined Behavior in _PyUnicodeWriter_WriteASCIIString() (python#146201) pythongh-143930: Reject leading dashes in webbrowser URLs pythongh-145916: Soft-deprecate ctypes.util.find_library (pythonGH-145919) pythongh-146205: Check the errno with != 0 in close impls in select module (python#146206) pythongh-146171: Fix nested AttributeError suggestions (python#146188) pythongh-146099: Optimize _GUARD_CODE_VERSION+IP via function version symbols (pythonGH-146101) pythongh-145980: Add support for alternative alphabets in the binascii module (pythonGH-145981) pythongh-145754: Update signature retrieval in unittest.mock to use forwardref annotation format (python#145756) pythongh-145177: Add emscripten run --test, uses test args from config.toml (python#146160) ...
Also modifies
SENDto make it a bit more like FOR_ITER as both are now fed byGET_ITER.Apart from saving an opcode, this will enable broadly similar optimizations to be applied to
SENDas are already applied toFOR_ITER. Which will be able to:yield from seqwhereseqis a common iterable, likelist.SENDas it will be mostly specialized.For now, this is broadly performance neutral, between +0% and -1%, mostly about 0%.
GET_ITERandGET_YIELD_FROM_ITERinstructions #145667